home *** CD-ROM | disk | FTP | other *** search
- -- stack: in.1
- -- format: 8 (HyperCard 1)
- -- flags: 0x1000 (none)
- -- protect password hash: 0
- -- maximum user level: 5 (scripting)
- -- window: Rect(x1=0, y1=0, x2=0, y2=0)
- -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
- -- card dimensions: w=0 h=0
- -- scroll: x=0 y=0
- -- background count: 4
- -- first background id: 3301
- -- card count: 6
- -- first card id: 3930
- -- list block id: 6625
- -- print block id: 2239
- -- font table block id: 0
- -- style table block id: 0
- -- free block count: 0
- -- free size: 0 bytes
- -- total size: 44032 bytes
- -- stack block size: 7168 bytes
- -- created by hypercard version: 0x00000000
- -- compacted by hypercard version: 0x01208000
- -- modified by hypercard version: 0x01208000
- -- opened by hypercard version: 0x01208000
- -- patterns[0]: 0x0000000000000000
- -- patterns[1]: 0x8000000008000000
- -- patterns[2]: 0x8800220088002200
- -- patterns[3]: 0x8888222288882222
- -- patterns[4]: 0x88AA22AA88AA22AA
- -- patterns[5]: 0xCCAA33AACCAA33AA
- -- patterns[6]: 0xEEAABBAAEEAABBAA
- -- patterns[7]: 0xEEBBBBEEEEBBBBEE
- -- patterns[8]: 0xFFBBFFEEFFBBFFEE
- -- patterns[9]: 0xFFBBFFFFFFBBFFFF
- -- patterns[10]: 0x8010022001084004
- -- patterns[11]: 0xFFFFFFFFFFFFFFFF
- -- patterns[12]: 0x8822882288228822
- -- patterns[13]: 0x1122448811224488
- -- patterns[14]: 0xC4800C6843023026
- -- patterns[15]: 0xB130031BD8C00C8D
- -- patterns[16]: 0xAA00AA00AA00AA00
- -- patterns[17]: 0x8822552288225522
- -- patterns[18]: 0x8855225588552255
- -- patterns[19]: 0x77DD77DD77DD77DD
- -- patterns[20]: 0x8000000000000000
- -- patterns[21]: 0xAA55AA55AA55AA55
- -- patterns[22]: 0x038448300C020101
- -- patterns[23]: 0x8244394482010101
- -- patterns[24]: 0x8814224188412214
- -- patterns[25]: 0x8080413E080814E3
- -- patterns[26]: 0x22048C7422179810
- -- patterns[27]: 0xBE808808EB088880
- -- patterns[28]: 0x25C8328964244C92
- -- patterns[29]: 0xA29C41BE2AC914EB
- -- patterns[30]: 0x40A00000040A0000
- -- patterns[31]: 0x8040200002040800
- -- patterns[32]: 0xAA00800088008000
- -- patterns[33]: 0xFF80808080808080
- -- patterns[34]: 0x081C22C180010204
- -- patterns[35]: 0xFF808080FF080808
- -- patterns[36]: 0xF87422478F172271
- -- patterns[37]: 0xBF00BFBFB0B0B0B0
- -- patterns[38]: 0xFF7FBE5DA2418000
- -- patterns[39]: 0xFAF5FAF5A050A050
- -- checksum: 0x0
- ----- HyperTalk script -----
- on openStack
- global dollarsAndCents,unitFormat,leadingZeros, printingInvoice,findMode,deleteFlag,changedInvoice,newInvoice, toolWindowLoc,testVersion,savedLevel
- put "0.00" into dollarsAndCents
- put "0" into unitFormat
- put "000000" into leadingZeros
- put false into printingInvoice
- put false into findMode
- put empty into deleteFlag
- put false into changedInvoice
- put false into newInvoice
- put false into testVersion
- put loc of tool window into toolWindowLoc
- put the userLevel into savedLevel
- set the userLevel to 4
- hide menubar
- choose browse tool
- end openStack
-
- function genericFind searchString,searchField,firstCard,lastCard
- -- find item only in given field in given range of cards
- set cursor to busy
- put the number of this card into startCard
- put empty into foundCard
- put empty into firstFind
- set lockScreen to true
- repeat forever
- set cursor to busy
- find searchString in field searchField
- if the Result is empty then
- get the number of this card
- if (it >= firstCard) and (it <= lastCard) then
- put it into foundCard
- exit repeat
- else
- if firstFind is empty then
- put it into firstFind
- else
- if it=firstFind then
- exit repeat
- end if
- end if
- end if
- else
- exit repeat
- end if
- end repeat
- if foundCard is empty then
- go card startCard
- end if
- set lockScreen to false
- return foundCard
- end genericFind
-
- on newCustomer
- set lockscreen to true
- go to last card -- assumes last card is customer card
- domenu "New Card"
- set lockscreen to false
- end newCustomer
-
- on findCustomer
- set lockScreen to true
- Ask "Customer Name" with empty
- if it is empty then exit findCustomer
- put it into customerName
- put number of card "Customer Master" into firstCard
- put number of field "Sell to:" of card firstCard into fieldNumber
- add 1 to firstCard
- put number of last Card into lastCard
- if genericFind(customerName,fieldNumber,firstCard,lastCard) is empty then
- Answer "Customer"&&customerName&&"not found"
- end if
- set lockScreen to false
- end findCustomer
-
- on goInvoice InvoiceNumber
- set lockscreen to true
- put 1+the number of card "Invoice Master" into firstCard
- put the number of card "Customer Master" into lastCard
- subtract 1 from lastCard
- put the number of field "Invoice Number" of card "Invoice Master" into fieldNumber
- if genericFind(InvoiceNumber,fieldNumber,firstCard,lastCard) is empty then
- Answer "Invoice"&&InvoiceNumber&&"not found"
- end if
- set lockscreen to false
- end goInvoice
-
- on findInvoice
- global leadingZeros
- Ask "Invoice Number" with empty
- if it is empty then exit findInvoice
- set numberFormat to leadingZeros
- put it into InvoiceNumber
- add 0 to InvoiceNumber
- goInvoice InvoiceNumber
- end findInvoice
-
- --function clickLine returns the line of the target field
- --over which the mouse was clicked. It allows 4 pixels under the
- --baseline for the psychological effect of descenders.
- -- Adapted from the HyperCard 1.2.1 Update description
- -- (M)agreeable software, inc. added handling scrollable fields
-
- function clickLine
- put the mouseV - item 2 of the rect of the target into relativeMouseV
- add -4+the scroll of the target to relativeMouseV
- divide relativeMouseV by the textheight of the target
- return trunc(relativeMouseV)+1
- --return ((the mouseV - item 2 of the rect of the target-4) --div the textheight of the target) + 1
- end clickLine
-
- on closeStack
- global savedLevel
- if freeSize of this stack > 0 then
- put "Compacting Stack"
- doMenu "Compact Stack"
- hide message box
- end if
- set the userlevel to savedLevel
- end closeStack
-